package com.ny.zmb.openapi.ysutil.from.BizReqJsonCollege;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author ChenZhiZheng
 * @date 20241109
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BizReqJsonRegister implements Serializable {
    private static final long serialVersionUID = 1L;
    // 外部商户号，由平台商提供，每次请求保证唯一
    private String outMerchantNo;
    /**
     * 商户类型：类型不同，需上传的图片不同
     * 01-个体商户，按营业执照上类型选择
     * 02-企业商户，按营业执照上类型选择
     * 03-小微商户，无营业执照；
     * 注：小微商户无法使用POS终端交易
     */
    private String merchantType;
    /**
     * 商户名称
     * 商户类型为小微，参考 【小微商户命名规范】
     * 商户类型为个体、企业时传营业执照上全称
     * 若个体户营业执照上名称为空或*时，商户名称为“个体户+法人姓名”，示例：个体户张三
     */
    private String merchantName;
    /**
     * 商户简称 ，用于显示收款方名称
     */
    private String merchantShortName;
    /**
     * 营业执照号
     * 商户类型为个体、企业时必填
     */
    private String businessCode;
    /**
     * 营业执照全称
     * 商户类型为个体、企业时必填
     */

    private String businessName;
    /**
     * 营业执照起始日期，格式：yyyyMMdd
     * 商户类型为个体、企业时必填
     * 注：按营业执照上面的成立时间为准
     */

    private String businessExpire;
    /**
     * 营业执照失效日期，格式：yyyyMMdd，长期填29991231
     * 商户类型为个体、企业时必填
     */
    private String businessFailure;
    /**
     * 营业执照注册地址
     * 商户类型为个体、企业时必填
     */

    private String businessAddress;
    /**
     * 经营地址
     * 注：地址需要与所在市一致否则会进件失败
     */
    private String bizAddress;
    /**
     * 经营所在省（传中文，取值参考：调用公共接口-地区码查询接口），如：广东省
     */
    private String province;
    /**
     * 经营所在市（传中文，取值参考：调用公共接口-地区码查询接口），如：深圳市
     */
    private String city;
    /**
     * 经营所在区（传中文，取值参考：调用公共接口-地区码查询接口），如：龙华区 注：如市不存在区时，无需传值
     */
    private String region;
    /**
     * 法人姓名
     */
    private String lawyerName;
    /**
     * 法人手机号
     * 注：个体、小微类型请与结算账户的借记卡开卡预留手机号码一致，否则会四要素校验失败
     */
    private String lawyerPhone;
    /**
     * 法人证件号
     */
    private String lawyerId;
    /**
     * 法人证件起始日期 格式：yyyyMMdd
     */
    private String lawyerIdExpired;
    /**
     * 法人证件失效日期，格式：yyyyMMdd
     * 长期填29991231
     */
    private String lawyerIdFailure;
    /**
     * 法人国籍（传编号）
     * 商户类型为个体、企业时必填
     * 249-中国
     */
    private String lawyerCountry;
    /**
     * 法人职业（传编号）
     * 商户类型为个体、企业时必填
     * 1-机关团体企事业单位 2-公共事业
     * 3-农牧业 4-交通运输业 5-餐旅业
     * 6-建筑工程业 7-制造业 8-医疗保健业
     * 9-娱乐业 10-其他
     */
    private String lawyerWork;
    /**
     * 法人性别：01-男 02-女
     * 商户类型为个体、企业时必填
     */
    private String lawyerSex;
    /**
     * 法人地址
     * 商户类型为个体、企业时必填
     */
    private String lawyerAddress;
    /**
     * 法人证件类型
     * 00-身份证
     * 01-中国护照
     * 02-军人身份证
     * 03-警官证
     * 04-户口簿
     * 05-临时身份证
     * 06-外国护照
     * 07-港澳通行证
     * 08-台胞通行证
     * 18-其他证件
     * 19-营业执照
     */
    private String lawyerIdType;
    /**
     * 结算账户卡类型
     * 11-对私借记卡
     * 21-对公借记卡
     * 注：企业商户仅支持对公借记卡
     */
    private String accountCardType;
    /**
     * 结算账户卡号
     */
    private String accountCardno;
    /**
     * 结算账户户名
     */
    private String accountCardnoName;
    /**
     * 开户行省（传中文，取值参考：调用公共接口-地区码查询接口），如：广东省
     */
    private String openAccProvince;
    /**
     * 开户行市（传中文，取值参考：调用公共接口-地区码查询接口），如：深圳市
     */
    private String openAccCity;
    /**
     * 开户行区（传中文，取值参考：调用公共接口-地区码查询接口），如：龙华区
     * 注：如市不存在区时，无需传值
     */
    private String openAccArea;
    /**
     * 开户行编号（传联名行号，取值参考：调用公共接口-开户行查询接口）
     */
    private String openAccBanktype;
    /**
     * 联系人姓名（业务经办人姓名）
     */
    private String personName;
    /**
     * 联系人证件号（业务经办人证件号）
     */
    private String personId;
    /**
     * 联系人手机号（业务经办联系手机号）
     */
    private String personPhone;
    /**
     * 联系人邮箱（业务经办联系邮箱）
     */
    private String personEmail;
    /**
     * 联系人地址
     */
    private String personAddress;
    /**
     * MCC码（取值参考：调用公共接口-mcc码查询接口）
     */
    private String mccCode;
    /**
     * 结算起始金额，单位：元
     * 必须为正整数，最小值为0元
     * 默认为10元，不修改无需传值
     * 待结算金额(不包含未分账金额)＜结算起始金额时不会自动结算
     */
    private String lowestStlAmt;
    /**
     * 结算方式，不传值默认01
     * 01-银行账户(自动结算到银行账户)
     * 02-平台内账户(自动结算到一般消费账户，需调用接口提现到银行账户)
     */
    private String settleType;
    /**
     * 报备类型，不传值默认01
     * 01-自动报备（同时报备微信和支付宝）
     * 02-手动报备（需要时再调用商户报备接口）
     * 03-自动报备（仅报备微信）
     * 04-自动报备（仅报备支付宝）
     * 注：无需微信或支付宝收款时请选择手动报备，自动报备需开通对应权限。
     */
    private String reportType;
    /**
     * 进件结果通知，不传值默认01
     * 01-不通知(默认值)
     * 02-联系人邮件通知
     * 03-联系人短信通知
     * 04-联系人邮箱+短信通知
     */
    private String notifyType;
    /**
     * 进件结果异步回调URL，为空则不发送
     */
    private String notifyAddress;

    /**
     * 下列为资质图片字段，传值为文件上传接口返回的fileCode
     */
    /**
     * 营业执照图片编号
     * 商户类型为个体、企业时必填
     * 文件上传接口返回的fileCode
     */
    private String businessPic;
    /**
     * 结算账户卡正面（有卡号面）图片编号
     * 企业商户为开户许可证或企业开户的纸质证明文件
     * 文件上传接口返回的fileCode
     */
    private String accountCardPicFront;
    /**
     * 法人证件正面图片（人像）编号
     * 文件上传接口返回的fileCode
     */
    private String lawyerIdPicFront;
    /**
     * 法人证件反面图片（国徽）编号
     * 文件上传接口返回的fileCode
     */
    private String lawyerIdPicBack;
    /**
     * 法人手持证件正面图片编号
     * 文件上传接口返回的fileCode
     */
    private String lawyerIdHandFront;
    /**
     * 门头照图片编号
     * 文件上传接口返回的fileCode
     */
    private String doorFrontPic;
    /**
     * 收银台照图片编号
     * 文件上传接口返回的fileCode
     */
    private String cashierPic;
    /**
     * 场景照图片编号
     * 文件上传接口返回的fileCode
     */
    private String scenePic;


}
